#ifndef USUARIO_H_
#define USUARIO_H_

#include <iostream>
#include <string.h>
//#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdlib.h>
#include "Socket.h"
#include "Clase.h"
#include "ReproductorVideo.h"
#include "Receptor.h"

class Usuario {
protected:
	std::string nombre_usuario;
	std::string clave;
	// El socket_av del profesor enviar, de alumno recibe
	Socket *socket, *socket_av, *socket_receptorChat;
	struct sockaddr_in serv_addr;
	struct sockaddr_in serv_addr_av;
	ReproductorVideo *reproductorVideo;
	Receptor *receptor;
	bool conectado;

public:
	Usuario(std::string nombre_usuario, std::string clave, char* ip_serv, char* puerto, char *puerto_av);
	virtual ~Usuario();
	int login(char instr_o_alumn);
	int Inscribirse(std::string codClase);
	ReproductorVideo* getReproductorVideo();
	virtual void crearHiloReceptor(ReproductorVideo *reproductorVideo) = 0;
};

#endif
